package com.example.rabc.service;

import com.example.rabc.entity.Role;

import java.util.List;
import java.util.Set;

public interface RoleService {
    Role createRole(Role role, Set<String> permissionCodes);
    Role updateRole(Long roleId, Role role, Set<String> permissionCodes);
    void deleteRole(Long roleId);
    Role getRoleById(Long roleId);
    Role getRoleByCode(String roleCode);
    List<Role> getAllRoles();
    List<Role> getActiveRoles();
    boolean assignPermissionsToRole(Long roleId, Set<String> permissionCodes);
    boolean removePermissionsFromRole(Long roleId, Set<String> permissionCodes);
}